One of the great things about learning programming is that just when you think you know what is going on you find that something else comes around the corner which blows you away.

At the moment you should be fairly happy, in that you should know that we need variables and that they can have different types. We also know that our programs need to make decisions based on the values of these variables, and change what they do accordingly. Sometimes we need to create a loop, and we have constructions which let us do this. We also know how to put frequently used blocks of blocks of code into functions which we can then call to get them to do things for us.

There is only one more fundamental programming issue to get over, and then we can call ourselves fully fledged programmers. Unfortunately, the issue of pointers and arrays in C is renowned for causing confusion and unhappiness amongst those who try to learn the language. Think of it of a kind of initiation, in that you can't call yourself a programmer until you really know how to make use of arrays and pointers. So, with all that in mind, here goes...